from 工程.凌云项目.MLS接收模块.基础配置.基础配置引用 import *

def 电源性能测试初始化():
    模块编号 = str(sys.UUTINFO[1])
    if gy参数.初始化标识 != '电源性能测试初始化' + 模块编号:
        gy参数.初始化标识 = '电源性能测试初始化' + 模块编号
    else:
        return
    gy产品.射频路由.连接()
    gy产品.模块电源.连接()
    gy产品.模块控制.连接()

    gy产品.射频路由.接通MLS频谱仪测试()
    print("电源性能测试初始化")

def 电源拉偏性能():
    电源性能测试初始化()

    for i in range(28, 31):
        gy产品.模块电源.设置电压(i)
        gy方法.时间处理.延时(0.5)
    数组字符串1 = gy产品.模块控制.状态回传()

    for i in range(30, 28, -1):
        gy产品.模块电源.设置电压(i)
        gy方法.时间处理.延时(0.5)

    print(数组字符串1)
    for i in range(28, 17, -1):
        gy产品.模块电源.设置电压(i)
        gy方法.时间处理.延时(0.5)
    数组字符串2 = gy产品.模块控制.状态回传()
    for i in range(18, 29, 1):
        gy产品.模块电源.设置电压(i)
        gy方法.时间处理.延时(0.5)

    print(数组字符串2)
    if 'f0120805' in 数组字符串1 and 'f0120805' in 数组字符串2:
        gy方法.测试结果保存.结果保存('正常', '')
    else:
        gy方法.测试结果保存.结果保存('不正常', '')


def 过压保护():
    电源性能测试初始化()

    for i in range(28, 34):
        gy产品.模块电源.设置电压(i)
        gy方法.时间处理.延时(0.5)

    数组字符串 = gy产品.模块控制.状态回传()
    for i in range(33, 27, -1):
        gy产品.模块电源.设置电压(i)
        gy方法.时间处理.延时(0.5)
    print(数组字符串)
    if "f0120805" in 数组字符串:
        gy方法.测试结果保存.结果保存('正常', '')
    else:
        gy方法.测试结果保存.结果保存('不正常', '')

def 欠压保护():
    电源性能测试初始化()

    for i in range(28, 16, -1):
        gy产品.模块电源.设置电压(i)
        gy方法.时间处理.延时(0.5)

    数组字符串 = gy产品.模块控制.状态回传()
    for i in range(16, 29, 1):
        gy产品.模块电源.设置电压(i)
        gy方法.时间处理.延时(0.5)
    print(数组字符串)
    if "f0120805" in 数组字符串:
        gy方法.测试结果保存.结果保存('正常', '')
    else:
        gy方法.测试结果保存.结果保存('不正常', '')

def 电源电启动():
    电源性能测试初始化()

    for i in range(28, 9, -1):
        gy产品.模块电源.设置电压(i)
        gy方法.时间处理.延时(0.5)
    for i in range(10, 27, 1):
        gy产品.模块电源.设置电压(i)
        gy方法.时间处理.延时(0.2)
    gy产品.模块电源.设置电压(28)

    数组字符串 = gy产品.模块控制.状态回传()
    print(数组字符串)
    if "f0120805" in 数组字符串:
        gy方法.测试结果保存.结果保存('正常', '')
    else:
        gy方法.测试结果保存.结果保存('不正常', '')


def 功耗():
    电源性能测试初始化()
    gy产品.射频路由.接通MLS频谱仪测试()
    gy产品.模块控制.设置MLS频率()
    电流1 = gy产品.模块电源.回读28V电流()
    功耗1 = 电流1 * 28

    gy产品.射频路由.接通ILS航向频谱仪测试()
    gy产品.模块控制.设置ILS航向频率()
    电流2 = gy产品.模块电源.回读28V电流()
    功耗2 = 电流2 * 28

    功耗1 /= (电流1 // 0.7)
    功耗2 /= (电流2 // 0.7)
    gy方法.测试结果保存.结果保存(功耗1, "MLS")
    gy方法.测试结果保存.结果保存(功耗2, "ILS")


if __name__=='__main__':
    sys.UUTINFO = [0, 4]
    # 加电控制功能测试()
    # 电源过压保护()
    # 电源电启动()
